package cn.pid21.client.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import lombok.Data;

import java.util.Date;

/**
 * PID 设备信息 MongoDB Collection
 *
 * @author 郭志斌
 * @data 2019/10/22
 */
@Data
public class InstrumentMetadata implements PidCoreMetadata{

    /**
     * PID 标识 - 文档唯一索引
     */
    @JacksonXmlProperty
    private String pid;

    /**
     * CSTR 标识 - 文档唯一索引
     */
    @JacksonXmlProperty
    private String cstr;

    /**
     * 资源类型 URL
     */
    @JacksonXmlProperty(localName = "resource_type")
    private String resourceType;

    /**
     * 资源链接
     */
    @JacksonXmlProperty
    private String url;

    /**
     * 设备类型
     */
    @JacksonXmlProperty
    private String type;

    /**
     * 规格型号
     */
    @JacksonXmlProperty
    private String model;

    /**
     * 仪器名称
     */
    @JacksonXmlProperty
    private String name;

    /**
     * 设备 MAC
     */
    @JacksonXmlProperty
    private String mac;

    /**
     * 台站
     */
    @JacksonXmlProperty
    private String station;

    /**
     * 电压
     */
    @JacksonXmlProperty
    private String voltage;

    /**
     * 经度
     */
    @JacksonXmlProperty
    private String longitude;

    /**
     * 纬度
     */
    @JacksonXmlProperty
    private String latitude;

    /**
     * 样地
     */
    @JacksonXmlProperty(localName = "sample_plot")
    private String samplePlot;

    /**
     * 关联标识(可选)
     */
    @JacksonXmlProperty(localName = "related_id")
    private String relatedId;

    /**
     * 设备开始使用时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @JacksonXmlProperty(localName = "release_date")
    private Date releaseDate;

}
